perm filename MEMO[MLI,LSP] blob sn#166083 filedate 1975-07-01 generic text, type T, neo UTF8
The following files are included with the MLISP system:

	MLISP		- the MLISP-to-LISP translator
	RUNFN1		- MLISP runtime functions
	RUNFN2		-	   "
	MACROS		- MLISP macros, expanded when printed/compiled
	MACRO1		- macro-expanding functions
	PPRINT		- fancy "pretty printer"
	SCAN		- the MLISP scanner (in LISP)
	SCAN.MAC	- the MLISP scanner (in PDP-10 machine-language)
	MLISP.MLI  --
	RUNFN1.MLI  |
	RUNFN2.MLI  |
	MACROS.MLI  |---- MLISP versions of the above files
	MACRO1.MLI  |
	PPRINT.MLI  |
	SCAN.MLI   --
	MEXPR.MLI	- LISP-to-MLISP reverse translator

The following is a copy  of the message one gets if he  logs onto the
Stanford AI system (SUAI) and types HELP MLISP. 

*********************************************************************

MLISP is a meta-notation for LISP.  It  makes LISP programs easier to
write  and understand.   MLISP  is  maintained by  Dave Smith  and is
described  in  AI   memo  AIM-135   (CS-179),  available  online   as
MLISP.DAV[AIM,DOC]. 

To interactively translate and execute MLISP expressions, type
	.R MLISP
	*<expression> ; <expression> ; ...

To translate and execute an MLISP program on a file, type
	.R MLISP
	*LISP;
	*(MLISP <filename>)

To translate an MLISP program and print out its LISP translation, type
	.R MLISPC
	*LISP;
	*(MLISP  <filename>  NIL)

To translate an MLISP program and compile it to LAP, type
	.R MLISPC
	*LISP;
	*(MLISP  <filename>  T)

A version of MLISP using UCI LISP exists.  Type "R MLISP.UCI" instead
of "R  MLISP" or "R MLISPC".  However the  UCI MLISP does not contain
the UCI compiler, so programs to be compiled must first be translated
to LISP and then compiled as usual. 

*********************************************************************

The instructions  for generating  MLISP and  MLISPC core images  have
changed  slightly since  the  MLISP manual  was published.    The new
procedure follows.  Note:
	<cr> denotes a carriage return;
	 _   denotes a space;
	 $   denotes an altmode;
	 ~   denotes that the rest of the line is a comment;
	 ↑C  denotes a call to the operating system;
	a line beginning with a period (.) indicates you are talking
		to the operating system;
	a line beginning with a star (*) indicates you are talking
		to a processor (e.g. COMPLR, LISP).

*********************************************************************

.R COMPLR 40 <cr>			~ compile the LISP files to LAP
*(COMPL MLISP RUNFN1 RUNFN2 PPRINT MACRO1) <cr>
*↑C


.R COMPLR 40 <cr>			~ compile the LISP compiler itself
*(COMPL COMPLR) <cr>
*↑C


.COMPILE SCAN.MAC <cr>			~ compile the MACRO file to REL


.COPY UTILS ← RUNFN2.LAP,SETQS <cr>	~ create the UTILS file


.R LISP 23 <cr>				~ create the MLISP core image
*Y2000_10300____<cr>
*(DSKIN (MLISP.LAP) (RUNFN1.LAP) MINIT UTILS) <cr>
*(INIT1) <cr>
*DSK:SCAN$				~ this loads the machine language
*(INIT2) <cr>				~	scanner, using the loader
*↑C
.SAVE MLISP <cr>


.R LISP 33 <cr>				~ create the MLISPC core image
*Y3000_24000____<cr>
*(DSKIN (MLISP.LAP) (COMPLR.LAP) (PPRINT.LAP) MACROS
	(MACRO1.LAP) MINIT UTILS) <cr>
*(INIT1) <cr>
*DSK:SCAN$				~ this loads the machine language
*(INIT2) <cr>				~ scanner, using the loader
*↑C
.SAVE MLISPC <cr>

*********************************************************************